<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>SeaJS - A Module Loader for the Web</title>
<link rel="stylesheet" href="assets/home.css?v20121126.css">
</head>
<body>

<div id="header">
  <div id="header-inner">

  <h1 id="logo">
    <a href="#intro"><img src="assets/images/logo.png" width="144" height="50" title="SeaJS"></a>
  </h1>

  <ul id="nav">
    <li><a href="#intro">介绍</a></li>
    <li><a href="#docs">使用文档</a></li>
    <li><a href="#articles">社区精选</a></li>
    <li><a href="https://github.com/spmjs/spm/wiki" target="_blank">spm</a></li>
    <li><a href="#about">关于</a></li>
  </ul>

  </div>
</div>

<div id="content">

  <div class="page page-active" id="page-loading">
    <h2>Loading ...</h2>
  </div>

  <div class="page" id="page-intro">

    <div class="headline">
      <h2>SeaJS 是一个适用于 Web 端的模块加载器</h2>
      <p>A Module Loader for the Web</p>
    </div>

    <div class="quick-start">
      <a href="#quick-start" class="button">5 分钟上手 SeaJS
        <span class="extra">开启 SeaJS 的奇妙世界</span>
      </a>
    </div>

    <div class="words">

      <h3 id="why">为什么使用 SeaJS ？</h3>

      <p>
        SeaJS 追求简单、自然的代码书写和组织方式。使用 SeaJS，可以让我们的工作更轻松愉快：
      </p>

      <ul>
        <li><strong>简单易用</strong>：提供与 <a href="http://nodejs.org/" target="_blank">Node.js</a> 一般的模块化开发体验。</li>
        <li><strong>体系化</strong>：通过包管理工具 <a href="https://github.com/spmjs/spm/wiki" target="_blank">spm</a> 提供预编译、打包部署等功能。</li>
      </ul>

      <p>
        SeaJS 的最大好处是：<strong>提升代码的可维护性</strong>。如果一个网站的 JS 文件超过 3 个，就适合用
        SeaJS 来组织和维护代码。开发的代码越多，SeaJS 就越适合。SeaJS
        还提供常用插件，对开发和调试友好，并具有丰富的可扩展接口。
      </p>

      <p>
        SeaJS 期望让程序员享受编码的乐趣，让生活更美好。
      </p>


      <h3 id="companies">使用 SeaJS 的产品</h3>

      <p>
        感谢以下公司、产品对 SeaJS 的信赖与支持：
      </p>

      <ol id="company-logos">
        <li><a href="https://www.alipay.com/" target="_blank"><img alt="支付宝" data-src="https://i.alipayobjects.com/e/201211/1d8VoSqji8.png" width="103" height="44"></a></li>
        <li><a href="http://taobao.com/" target="_blank"><img alt="淘宝网" data-src="https://i.alipayobjects.com/e/201211/1d8W149hCW.png" width="164" height="44"></a></li>
        <li><a href="http://etao.com/" target="_blank"><img alt="一淘" data-src="https://i.alipayobjects.com/e/201211/1d8adaeedI.png" width="64" height="44"></a></li>
        <li><a href="http://pengyou.com/" target="_blank"><img alt="朋友" data-src="https://i.alipayobjects.com/e/201211/1d8Vxe4cE0.png" width="126" height="44"></a></li>
        <li><a href="http://baixing.com/" target="_blank"><img alt="百姓网" data-src="https://i.alipayobjects.com/e/201211/1d8VoTO7wy.png" width="104" height="44"></a></li>
        <li><a href="http://faxianla.com/" target="_blank"><img alt="发现啦" data-src="https://i.alipayobjects.com/e/201211/1d8VtmoYj6.png" width="133" height="44"></a></li>
        <li><a href="http://howzhi.com/" target="_blank"><img alt="好知" data-src="https://i.alipayobjects.com/e/201211/1d8VtHAMdg.png" width="84" height="44"></a></li>
        <li><a href="http://t.163.com/" target="_blank"><img alt="网易微博" data-src="https://i.alipayobjects.com/e/201211/1d8W0ck3D2.png" width="122" height="44"></a></li>
        <li><a href="http://clicki.cn/" target="_blank"><img alt="Clicki" data-src="https://i.alipayobjects.com/e/201211/1d8VoUZUrE.png" width="106" height="44"></a></li>
        <li><a href="http://xueqiu.com/" target="_blank"><img alt="雪球" data-src="https://i.alipayobjects.com/e/201211/1d8W2Vc9XA.png" width="88" height="44"></a></li>
        <li><a href="http://edoctor.cn/" target="_blank"><img alt="医道网" data-src="https://i.alipayobjects.com/e/201211/1d8VoUb70u.png" width="131" height="44"></a></li>
        <li><a href="http://mbaobao.com/" target="_blank"><img alt="麦包包" data-src="https://i.alipayobjects.com/e/201211/1d8Vwo1a0C.png" width="103" height="44"></a></li>
        <li><a href="http://laiwang.com/" target="_blank"><img alt="来往" data-src="https://i.alipayobjects.com/e/201211/1d8b0fwSDc.png" width="46" height="44"></a></li>
        <li><a href="http://sodao.com/" target="_blank"><img alt="搜道网" data-src="https://i.alipayobjects.com/e/201211/1d8Vy06hw4.png" width="171" height="44"></a></li>
        <li><a href="http://dnspod.cn/" target="_blank"><img alt="DNSPOD" data-src="https://i.alipayobjects.com/e/201211/1d8VoTupmm.png" width="138" height="44"></a></li>
        <li><a href="http://www.srxing.com/" target="_blank"><img alt="三人行网络教育" data-src="https://i.alipayobjects.com/e/201211/1d8bt222OC.png" width="140" height="44"></a></li>
        <li><a href="https://github.com/seajs/seajs/issues/272" target="_blank"><img alt="更多使用者" data-src="https://i.alipayobjects.com/e/201211/1d8VwySnTQ.png" width="146" height="44"></a></li>
      </ol>

      <div class="clear"></div>

      <p>
        SeaJS 遵循 <a href="../LICENSE.md">MIT 协议</a>，无论个人还是公司，都可以免费自由使用。
      </p>


      <h3 id="compatible">兼容性</h3>

      <p>
        SeaJS 具备完善的<a href="../tests/runner.html">测试用例</a>，兼容所有主流浏览器：
      </p>

<pre class="text">
IE 5.5+           ✔
Chrome 3+         ✔
Firefox 2+        ✔
Safari 3.2+       ✔
Opera 10+         ✔
</pre>

      <p>
        SeaJS 还可运行在 Mobile 端，包括 Hybrid 模式的 App 上。理论上，SeaJS 可以运行在任何浏览器引擎上。
      </p>

    </div>

    <div id="downloads-link">
      <a href="#downloads" alt="下载"><span>下载 v1.3.1</span></a>
    </div>

  </div>

  <div class="page" id="page-quick-start">

    <h2>5 分钟上手 SeaJS</h2>

    <p>
      这是个小游戏，调皮的字母来自神秘的大海深处。当鼠标轻轻滑过时，字母会旋转到正确位置。
      <span class="only-ie"><br>注意：该例子仅在高级浏览器下有效，推荐用 Chrome 浏览。</span>
      <br>
      来试试吧，看你能否让所有字母都听话……
    </p>

    <iframe id="quick-start-iframe" src="javascript:;" scrolling="no" frameborder="0" width="800" height="150"></iframe>

    <p>
      下面花 5 分钟，来看看如何来实现这个小游戏。
    </p>


    <h3>目录结构</h3>

    <p>先下载源码包：<a href="https://github.com/downloads/seajs/seajs/hello-seajs.zip">hello-seajs.zip</a></p>

    <p>解压后可看到目录结构：</p>

<pre class="text">
hello-seajs/
  |-- assets
  |     |-- main
  |     `-- sea-modules
  `-- index.html
</pre>

    <p><code>assets</code> 目录存放 css、js 等静态资源文件，其中 <code>sea-modules</code>
      下存放的是我们需要用到的第三方模块，可通过 <code>spm install</code> 来获取：</p>

<pre class="text">
$ cd hello-seajs/assets
$ spm install seajs
$ spm install gallery.jquery
</pre>

    <p><strong>注意</strong>：</p>
    <ol>
      <li>安装的 <code>jquery-1.12.4.js</code> 是经过封装的模块文件，不能用 jQuery 官网提供的原始文件。</li>
      <li><a href="https://github.com/spmjs/spm/wiki" target="_blank">spm</a> 是包管理工具，我们先了解有这么一个工具就好，不用着急。</li>
    </ol>

    <p>最重要的一个目录是 <code>main</code>，用来存放模块源码：</p>

<pre class="text">
main/
  |-- docs
  |-- examples
  |-- src
  |    |-- main.css
  |    |-- main.js
  |    `-- spinning.js
  |-- tests
  |-- package.json
  `-- README.md
</pre>

    <p>这是一个模块的标准目录结构，<code>docs</code> 目录用来存放文档，<code>examples</code> 存放示例，<code>src</code> 存放源码，<code>tests</code> 存放测试用例。</p>

    <p><code>package.json</code> 是模块信息文件，指明模块名、版本等基本信息，还包括 spm 的打包配置等信息。</p>


    <h3>在页面中加载模块</h3>

    <p>
      在 <code>index.html</code> 里，首先需要引入 <code>sea.js</code>，然后通过 <code>use</code> 方法来加载模块：
    </p>
<pre class="sh_html">
&lt;script src="assets/sea-modules/seajs/1.3.0/sea.js"&gt;&lt;/script&gt;
&lt;script&gt;
  seajs.config({
    alias: {
      'jquery': 'gallery/jquery/1.8.2/jquery' // 指定使用的 jQuery 版本
    }
  })

  // 加载入口模块
  seajs.use('./assets/main/src/main')
&lt;/script&gt;
</pre>

    <p>
      上面是最简单的一种写法，更多加载方式请参考：<a href="https://github.com/seajs/seajs/issues/260" target="_blank">模块加载器</a>
    </p>


    <h3>书写模块代码</h3>

    <p>
      这个小游戏的核心文件是 <code>spinning.js</code>：
    </p>
<pre>
define(function(require, exports, module) {

  // 获取依赖，spinning 只依赖 jquery
  var $ = require('jquery')

  // 下面是这个小游戏的核心代码，有兴趣的可以等看完这篇文档后再去阅读
  function Spinning() { ... }

  Spinning.prototype.render = function() { ... }

  ...

  // 对外提供接口
  module.exports = Spinning
})
</pre>

    <p>
      <code>main.js</code> 很简单：
    </p>

<pre>
define(function(require) {

  // 得到 Spinning 函数类
  var Spinning = require('./spinning')

  // 初始化
  var s = new Spinning('#container')
  s.render()

})
</pre>

    <p>
      通过 <code>require</code> 引入依赖，通过 <code>exports</code> 提供接口，一切就这么简单。更多用法请参考：<a href="https://github.com/seajs/seajs/issues/242" target="_blank">CMD 模块定义规范</a>
    </p>


    <h3>打包部署</h3>

    <p>
      对于正式项目，在发布上线前，还需要对源码进行压缩、合并等操作。在 SeaJS 里，通过包管理工具
      <a href="https://github.com/spmjs/spm/wiki" target="_blank">spm</a> 来实现。
    </p>

    <p>
      <a href="https://github.com/spmjs/spm/wiki/安装" target="_blank">安装好 spm</a> 后，执行以下命名：
    </p>

<pre class="text">
$ cd hello-seajs/assets/main
$ spm build 
...
BUILD SUCCESS!
$
</pre>

    <p>
      这样就打包好了，生成的文件在 <code>sea-modules</code> 目录下：
    </p>

<pre class="text">
sea-modules/
  |-- hello-seajs
        `-- main
              `-- 1.0.0
                    |-- main-debug.css
                    |-- main-debug.js
                    |-- main.css
                    `-- main.js
</pre>

    <p>
      其中 <code>main.js</code> 中已经合并了 <code>spinning.js</code> 文件。详尽用法请参考：<a href="https://github.com/spmjs/spm/wiki" target="_blank">spm Wiki</a>
    </p>

    <p>
      打包好后，将需要的文件，比如 <code>sea-modules</code> 同步到线上，然后修改
      <code>index.html</code> 中的引用路径：
    </p>

<pre class="sh_html">
&lt;link rel="stylesheet" href="http://yoursite.com/assets/sea-modules/hello-seajs/main/1.0.0/main.css"&gt;
...
&lt;script src="http://yoursite.com/assets/sea-modules/seajs/1.3.0/sea.js"&gt;&lt;/script&gt;
&lt;script&gt;
  seajs.config({
    alias: {
      'jquery': 'gallery/jquery/1.8.2/jquery' // 指定使用的 jQuery 版本
    }
  })

  // 加载入口模块
  seajs.use('hello-seajs/main/1.0.0/main')
&lt;/script&gt;
</pre>

    <p>
      修改好后，发布上线，就可以回家睡觉或出国旅游了……
    </p>

    <p>
      <strong>注意</strong>：在实际项目中，不需要修改 <code>index.html</code> 中的引用。可以通过配置，自动适配环境。比如可以：
    </p>

<pre>
  // 加载入口模块
  seajs.use(location.host === 'localhost' ? './assets/main/src/main' : 'hello-seajs/main/1.0.0/main')
</pre>

    <p>非静态页面时，一般通过变量来配置，比如 PHP 可以：</p>

<pre>
  // 加载入口模块
  seajs.use('&lt;?=$MAIN_SRC?&gt;')
</pre>


    <h3>结束语</h3>

    <p>
      怎么样，SeaJS 入门真的只需 5 分钟吧：）
    </p>

    <p>
      如果超过 5 分钟，那说明你是一个爱学习的孩子，可继续阅读：<a href="#docs">SeaJS 使用文档</a>，这样很快就可以成为
      SeaJS 高手！
    </p>

    <p>
      有任何问题，欢迎交流：<a href="https://github.com/seajs/seajs/issues/271" target="_blank">社区</a>
    </p>

  </div>

  <div class="page" id="page-docs">

    <h2>使用文档</h2>

    <div class="words">

      <p>
        这是 SeaJS 的官方文档。<br/>
        基础教程推荐按顺序阅读，后续文档可根据兴趣选读。<br/>
        阅读过程中有任何疑问，欢迎到 <a href="https://github.com/seajs/seajs/issues/271" target="_blank">社区</a> 交流。
      </p>

      <h3>快速上手</h3>
      <ul>
        <li><a href="#quick-start">5 分钟上手 SeaJS</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/266" target="_blank">API 快速参考</a></li>
      </ul>

      <h3>基础教程</h3>

      <ul>
        <li><a href="https://github.com/seajs/seajs/issues/240" target="_blank">模块系统</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/242" target="_blank">CMD 模块定义规范</a>
        <li><a href="https://github.com/seajs/seajs/issues/258" target="_blank">模块标识</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/259" target="_blank">require 书写约定</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/260" target="_blank">模块的加载启动</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/262" target="_blank">配置</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/265" target="_blank">常用插件</a></li>
        <li><a href="https://github.com/spmjs/spm/wiki" target="_blank">包管理工具 spm</a></li>
      </ul>


      <h3>进阶文档</h3>

      <ul>
        <li><a href="https://github.com/seajs/seajs/issues/263" target="_blank">SeaJS 的调试接口</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/270" target="_blank">调试插件 debug</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/226" target="_blank">请求合并插件 combo</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/224" target="_blank">自动刷新插件 reload</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/323" target="_blank">多语言支持插件 i18n</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/352" target="_blank">警告提示插件 warning</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/426" target="_blank">为什么要用 spm 来压缩 CMD 模块</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/274" target="_blank">模块的动态修改</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/267" target="_blank">常见错误信息</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/269" target="_blank">从 CommonJS 到 SeaJS</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/275" target="_blank">与 Node.js 兼容</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/277" target="_blank">RequireJS 与 SeaJS 的异同</a></li>
      </ul>


      <h3>插件开发</h3>

      <ul>
        <li><a href="https://github.com/seajs/seajs/issues/264" target="_blank">插件开发指南</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/276" target="_blank">源码阅读指引</a></li>
      </ul>
      
    </div>
  </div>

  <div class="page" id="page-articles">

    <h2>社区精选</h2>

    <div class="words">

      <p>
        下面这些文章是从社区中筛选出来的。欢迎分享或推荐好文章：<a href="https://github.com/seajs/seajs/issues/278" target="_blank">社区文章推荐</a>
      </p>

      <p>
        注意：由于 SeaJS 的版本更新，有些内容已不适合，请选择性阅读。此外，记得翻墙。
      </p>


      <h3>2012</h3>

      <h4>入门级</h4>
      <ul>
        <li><a href="http://chaoskeh.com/blog/why-seajs.html" target="_blank">SeaJS 解决什么问题</a></li>
        <li><a href="http://mrzhang.me/blog/hello-seajs.html" target="_blank">SeaJS 介绍</a></li>
        <li><a href="http://cyj.me/why-seajs/zh/" target="_blank">SeaJS 入门与进阶</a></li>
        <li><a href="http://www.cnblogs.com/snandy/archive/2012/03/30/2423612.html" target="_blank">JavaScript 模块化开发库之 SeaJS</a></li>
        <li><a href="http://www.cnblogs.com/snandy/archive/2012/03/07/2378432.html" target="_blank">拥抱模块化的 JavaScript</a></li>
        <li><a href="https://speakerdeck.com/u/lifesinger/p/seajs" target="_blank">SeaJS 从入门到精通</a></li>
      </ul>

      <h4>进阶篇</h4>
      <ul>
        <li><a href="https://github.com/seajs/seajs/issues/305" target="_blank">SeaJS v1.2 中文注释版</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/308" target="_blank">实例解析 SeaJS 内部执行过程 - 从 use 说起</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/337" target="_blank">本地安装 nginx 并启动 combo 服务</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/365" target="_blank">一个文件中存在多个模块时的注意事项</a></li>
        <li><a href="https://github.com/seajs/seajs/issues/309" target="_blank">SeaJS v1.1 代码结构和数据结构</a></li>
        <li><a href="http://www.kindsoft.net/ke4/adapter/seajs/test/" target="_blank">KindEditor for SeaJS</a></li>
        <li><a href="http://www.zhangxinxu.com/wordpress/2012/07/seajs-node-nodejs-spm-npm/" target="_blank">高富帅 SeaJS 使用示例</a></li>
        <li><a href="http://www.cnblogs.com/meteoric_cry/archive/2012/07/04/2576513.html" target="_blank">关于 SeaJS</a></li>
        <li><a href="http://www.cnblogs.com/ljzforever/archive/2012/05/08/2490932.html" target="_blank">SeaJS 学习笔记</a></li>
      </ul>


      <h3>2011</h3>

      <h4>入门级</h4>
      <ul>
        <li><a href="http://www.cnblogs.com/leoo2sk/archive/2011/06/27/write-javascript-with-seajs.html" target="_blank">使用 SeaJS 实现模块化 JavaScript 开发</a></li>
        <li><a href="http://www.im-ux.com/archives/833" target="_blank">SeaJS 浅析</a></li>
        <li><a href="http://www.css88.com/archives/4273" target="_blank">SeaJS 的模块定义、模块加载及模块依赖关系</a></li>
        <li><a href="http://clonn.blogspot.com/2011/05/seajs-nonblocking-require-library.html" target="_blank">SeaJS，模組化開發加載套件</a></li>
        <li><a href="http://ghsky.com/2011/05/seajs-first-view.html" target="_blank">初识 SeaJS</a></li>
        <li><a href="http://lifesinger.wordpress.com/2011/04/26/intro-to-seajs/" target="_blank">SeaJS – 不仅仅是模块加载器</a></li>
      </ul>

      <h4>进阶篇</h4>
      <ul>
        <li><a href="http://www.slideshare.net/lifesinger/seajs-10500724" target="_blank">SeaJS – 前端模块化开发探索与网站性能优化实践</a></li>
        <li><a href="http://lifesinger.wordpress.com/2011/05/18/jquery-plugins-modulization/" target="_blank">jQuery 插件的模块化</a></li>
        <li><a href="http://lifesinger.wordpress.com/2011/08/19/jquery-introduction-and-plugins-modulization/" target="_blank">jQuery 模块介绍与 jQuery 插件的深度模块化</a></li>
        <li><a href="http://www.nodejser.com/?p=146431" target="_blank">SeaJS – 全局 map，调试利器</a></li>
        <li><a href="http://lifesinger.wordpress.com/2011/08/01/best-practice-of-version-management/" target="_blank">SeaJS 里版本号和时间戳管理的最佳实践</a></li>
        <li><a href="http://limu.iteye.com/blog/1136712" target="_blank">扩展 SeaJS 模块定义中的 module 参数的应用示例</a></li>
        <li><a href="http://lifesinger.wordpress.com/2011/07/24/online-local-debug/" target="_blank">在线本地调试大观</a></li>
        <li><a href="http://www.slideshare.net/lifesinger/ss-8641944" target="_blank">开放式类库的构建</a></li>
        <li><a href="http://lifesinger.wordpress.com/2011/05/26/exports-and-module-load-in-seajs/" target="_blank">SeaJS 中的 exports 和模块加载</a></li>
        <li><a href="http://www.infoq.com/cn/news/2011/05/nodeparty-hangzhou" target="_blank">NodeParty 杭州站会议纪实：Jscex，SeaJS 与 MyFOX</a></li>
        <li><a href="http://lifesinger.wordpress.com/2011/05/14/seajs-and-nodejs/" target="_blank">SeaJS – 跨环境模块化开发实践</a></li>
        <li><a href="http://lifesinger.wordpress.com/2011/04/05/seajs-080-released/" target="_blank">发布 SeaJS 0.8.0 – 海纳百川、有容乃大</a></li>
      </ul>


    </div>
  </div>

  <div class="page" id="page-about">

    <h2>关于</h2>

    <div class="words">

      <img src="https://i.alipayobjects.com/e/201211/1dbVbRY0yK.jpg" width="300" height="300" style="float: right">

      <p>
        SeaJS 是 2010 年由 <a href="http://weibo.com/lifesinger">lifesinger</a> 发起的开源项目，一直开发维护至今。
      <br>
        最初的理念是：<strong>海纳百川、有容乃大</strong>。SeaJS 希望能成为一片海，开放而自由。
      </p>

      <p>
        一路走来，有寂寞、有开怀，有泪水、也有欢笑。<br>
        特别感谢同事、家人和朋友们的支持。因为有你们，SeaJS 才越做越好。
      </p>

      <p>
        如果你喜欢 SeaJS，欢迎提供资助，这笔钱将用在模块的源服务器上：<br>
        <a href="https://me.alipay.com/lifesinger" target="_blank">
          <img src="https://i.alipayobjects.com/e/201211/1dbRyKG5m0.png" width="150"
               height="37" alt="通过支付宝捐赠">
        </a>
      </p>

      <p>
        最后用右边这张图，祝福大家的生活越来越好。<br>
      </p>

    </div>
  </div>

  <div class="page" id="page-downloads">

    <h2>下载</h2>

    <div class="words">

      <p class="current">
        <span class="date">2012-11-27</span>
        <a href="https://github.com/seajs/seajs/issues/435" target="_blank">SeaJS v1.3.1 发布说明</a>
      </p>


      <h3>历史版本</h3>

      <ul>
        <li>
          <span class="date">2012-11-13</span>
          <a href="https://github.com/seajs/seajs/issues/225" target="_blank">1.3.0</a>
        </li>
        <li>
          <span class="date">2012-08-15</span>
          <a href="https://github.com/seajs/seajs/issues/324" target="_blank">1.2.1</a>
        </li>
        <li>
          <span class="date">2012-07-12</span>
          <a href="https://github.com/seajs/seajs/issues/282" target="_blank">1.2.0</a>
        </li>
        <li>
          <span class="date">2011-10-20</span>
          <a href="http://lifesinger.wordpress.com/2011/10/20/seajs-v1-0-2/" target="_blank">1.0.2</a>
        </li>

        <li>
          <span class="date">2011-08-11</span>
          <a href="http://lifesinger.wordpress.com/2011/08/11/seajs-v1-0-1/" target="_blank">1.0.1</a>
        </li>

        <li>
          <span class="date">2011-07-22</span>
          <a href="http://lifesinger.wordpress.com/2011/07/22/seajs-v1-0-0/" target="_blank">1.0.0</a>
        </li>

        <li>
          <span class="date">2011-06-20</span>
          <a href="http://lifesinger.wordpress.com/2011/06/20/seajs-v0-9-5-and-next/" target="_blank">0.9.5</a>
        </li>

        <li>
          <span class="date">2011-06-07</span>
          <a href="http://lifesinger.wordpress.com/2011/06/07/seajs-v0-9-3/" target="_blank">0.9.3</a>
        </li>

        <li>
          <span class="date">2011-05-31</span>
          <a href="http://lifesinger.wordpress.com/2011/05/31/seajs-v0-9-2/" target="_blank">0.9.2</a>
        </li>

        <li>
          <span class="date">2011-05-22</span>
          <a href="http://lifesinger.wordpress.com/2011/05/23/seajs-v0-9-1/" target="_blank">0.9.1</a>
        </li>

        <li>
          <span class="date">2011-05-09</span>
          <a href="http://lifesinger.wordpress.com/2011/05/09/seajs-090-released/" target="_blank">0.9.0</a>
        </li>

        <li>
          <span class="date">2011-04-05</span>
          <a href="http://lifesinger.wordpress.com/2011/04/05/seajs-080-released/" target="_blank">0.8.0</a>
        </li>

        <li>
          <span class="date">2010-12-29</span>
          initial version
        </li>

      </ul>

    </div>
  </div>

</div>

<div id="footer">
  <div id="footer-inner">
    <p class="copyright">© 2010 - 2022 seajs.org Coding with pleasure</p>
  </div>
</div>

<div id="extra">
  <a href="https://github.com/seajs/seajs" target="_blank"><img style="position: absolute; top: -7px; right: 0; border: 0" src="https://i.alipayobjects.com/e/201211/1dbSqT9ykm.png" width="149" height="149" alt="Fork me on GitHub"></a>
</div>

<script src="../dist/sea.js?v20121113.js" data-main="./assets/home.js?v20121126.js"></script>
<script>
  var _gaq = _gaq || []
  _gaq.push(['_setAccount', 'UA-53409-11'])
  _gaq.push(['_setDomainName', 'seajs.org'])
  _gaq.push(['_trackPageview'])
  ;(function(ga, s) {
    ga.async = true
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'
    s.parentNode.insertBefore(ga, s)
  })(document.createElement('script'), document.getElementsByTagName('script')[0])
</script>
</body>
</html>
